package com.example.f22015232.repository;

import com.example.f22015232.model.Student;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

public interface StudentRepository extends JpaRepository<Student, Integer> {
    /**
     * 根据姓名查找学生
     *
     * @param name 学生姓名
     * @return 学生列表
     */
    List<Student> findByName(String name);

    // 根据创建者用户名查询学生
    List<Student> findByCreatedBy(String createdBy);

    /**
     * 使用本地查询通过姓名模糊查找学生
     *
     * @param name 学生姓名
     * @return 学生列表
     */
    @Query(nativeQuery = true, value = "SELECT * FROM student WHERE name LIKE ?1%")
    List<Student> findByNativeQuery(String name);

    /**
     * 根据电话号码查找学生
     *
     * @param tel 电话号码
     * @return 学生列表
     */
    List<Student> findByTel(String tel);
}
